package com.xique.door.service;

import com.xique.door.bean.dao.CompanyUserCountDAO;
import com.xique.door.bean.domain.UserCompany;

import java.util.List;

/**
 * 用户企业中间表Service接口
 *
 * @author ww
 * @date 2021-12-21
 */
public interface IUserCompanyService
{
    /**
     * 查询用户企业中间表
     *
     * @param userId 用户企业中间表ID
     * @return 用户企业中间表
     */
    public UserCompany selectUserCompanyById(Long userId);

    /**
     * 查询用户企业中间表列表
     *
     * @param userCompany 用户企业中间表
     * @return 用户企业中间表集合
     */
    public List<UserCompany> selectUserCompanyList(UserCompany userCompany);

    /**
     * 新增用户企业中间表
     *
     * @param userCompany 用户企业中间表
     * @return 结果
     */
    public int insertUserCompany(UserCompany userCompany);

    /**
     * 修改用户企业中间表
     *
     * @param userCompany 用户企业中间表
     * @return 结果
     */
    public int updateUserCompany(UserCompany userCompany);

    /**
     * 批量删除用户企业中间表
     *
     * @param userIds 需要删除的用户企业中间表ID
     * @return 结果
     */
    public int deleteUserCompanyByIds(Long[] userIds);

    /**
     * 删除用户企业中间表信息
     *
     * @param userId 用户企业中间表ID
     * @return 结果
     */
    public int deleteUserCompanyById(Long userId);

    /**
     * 根据企业id获取用户数
     * @author shd
     * @date 2021/12/22 9:03
     * @param companyIds
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    List<CompanyUserCountDAO> selectCompanyUserCountByCompanyIds(List<Long> companyIds);
}
